package it.aqquadro.arex;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Arex's mouth! :)
 * 
 * @author alessandroaglietti
 * 
 */
public abstract interface ArexMouth {
	public abstract Object delete() throws IOException, ServletException;

	public abstract Object delete(String id) throws IOException, ServletException;

	public abstract Object get() throws IOException, ServletException;;

	public abstract Object get(String id) throws IOException, ServletException;;

	public abstract Object head() throws IOException, ServletException;;

	public abstract Object options() throws IOException, ServletException;;

	public abstract Object post() throws IOException, ServletException;;

	public abstract Object post(String id) throws IOException, ServletException;;

	public abstract Object put() throws IOException, ServletException;;

	public abstract Object put(String id) throws IOException, ServletException;;

	public abstract Object search(String q) throws IOException, ServletException;;

	public abstract void setReq(HttpServletRequest req);;

	public abstract void setResp(HttpServletResponse resp);

	public abstract void setServletContext(ServletContext servletContext);

	public abstract Object trace() throws IOException, ServletException;

}
